home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / terms / kermit / b / ckmasm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-30  |  6.9 KB  |  272 lines

  1. /* $Id: ckmasm.h,v 1.4 91/12/15 23:16:43 rick Exp $
  2.  * $Source: /uw/mackermit/RCS/ckmasm.h,v $
  3.  *------------------------------------------------------------------
  4.  * $Log:    ckmasm.h,v $
  5.  * Revision 1.4  91/12/15  23:16:43  rick
  6.  * ut9
  7.  * 
  8.  * Revision 1.3  91/09/12  21:50:29  rick
  9.  * UT(3). Install on watsun
  10.  * 
  11.  * Revision 1.2  1991/09/10  22:21:37  rick
  12.  * Update to UTexas(2)
  13.  *
  14.  * Revision 1.1  1991/09/10  19:17:44  rick
  15.  * Initial revision
  16.  *
  17.  *------------------------------------------------------------------
  18.  * $Endlog$
  19.  */
  20.  
  21. /*
  22.  * file ckmasm.h
  23.  *
  24.  * Module of Mac Kermit containing code for assembler instructions needed
  25.  *
  26.  */
  27.  
  28. /*
  29.   Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
  30.   York.  Permission is granted to any individual or institution to use this
  31.   software as long as it is not sold for profit.  This copyright notice must be
  32.   retained.  This software may not be included in commercial products without
  33.   written permission of Columbia University.
  34. */
  35.  
  36.  
  37. #ifdef MPW
  38.  
  39. /****************************************************************************/
  40. pascal void
  41. SPtoaA0 ()
  42. /****************************************************************************/
  43. extern 0x208F;            /* MOVE.L SP, (A0) */
  44.  
  45.  
  46.  
  47. /****************************************************************************/
  48. pascal void
  49. loadA0 (params)
  50. char *params;
  51. /****************************************************************************/
  52. extern 0x205F;            /* MOVEA.L (A7)+,A0 */
  53.  
  54.  
  55.  
  56. /****************************************************************************/
  57. pascal void
  58. loadD1 (value)
  59. long value;
  60. /****************************************************************************/
  61. extern 0x221F;            /* MOVE.L (A7)+,D1 */
  62.  
  63.  
  64.  
  65. /****************************************************************************/
  66. pascal void
  67. loadD2 (value)
  68. long value;
  69. /****************************************************************************/
  70. extern 0x241F;            /* MOVE.L (A7)+,D2 */
  71.  
  72.  
  73.  
  74. /****************************************************************************/
  75. pascal void
  76. pushD0 ()
  77. /****************************************************************************/
  78. extern 0x2F00;            /* MOVE.L D0,-(A7) */
  79.  
  80.  
  81.  
  82. /****************************************************************************/
  83. pascal void
  84. poptoA0 ()
  85. /****************************************************************************/
  86. extern 0x209F;            /* MOVE.L (A7)+,(A0) */
  87.  
  88.  
  89.  
  90. /****************************************************************************/
  91. pascal void
  92. saveA0 ()
  93. /****************************************************************************/
  94. extern 0x2F08;            /* MOVEA.L A0,-(A7) */
  95.  
  96.  
  97.  
  98. /****************************************************************************/
  99. pascal void
  100. restoreA0 ()
  101. /****************************************************************************/
  102. extern 0x205F;            /* MOVEA.L (A7)+,A0 */
  103.  
  104.  
  105.  
  106. /****************************************************************************/
  107. pascal void
  108. AllRegs ()
  109. /****************************************************************************/
  110. extern 0xFFFF;            /* D0-D7/A0-A7 (all registers) */
  111.  
  112.  
  113.  
  114. /****************************************************************************/
  115. pascal void
  116. SaveRegs ()
  117. /****************************************************************************/
  118. extern 0x48E7;            /* MOVEM.L <registers>,-(A7) */
  119.  
  120.  
  121.  
  122. /****************************************************************************/
  123. pascal void
  124. RestoreRegs ()
  125. /****************************************************************************/
  126. extern 0x4CDF;            /* MOVEM.L (A7)+,<registers> */
  127.  
  128.  
  129.  
  130. /****************************************************************************/
  131. pascal void
  132. execute ()
  133. /****************************************************************************/
  134. extern 0x4E90;            /* JSR (A0) */
  135.  
  136.  
  137.  
  138. /****************************************************************************/
  139. pascal void
  140. Launch ()
  141. /****************************************************************************/
  142. extern 0xA9F2;            /* Launch Trap */
  143.  
  144. #ifdef MPW2
  145.  
  146. /**********************************/
  147. pascal Boolean
  148. WaitNextEvent (eventMask, theEvent, sleep, mouseRgn)
  149. short eventMask;
  150. EventRecord *theEvent;
  151. long sleep;
  152. RgnHandle mouseRgn;
  153. /***********************************/
  154. extern 0xA860;            /* it's a toolbox trap... */
  155.  
  156. #endif /* MPW2 */
  157.  
  158. #define num_WaitNextEvent    0x60
  159. #define num_JugglDispatch    0x8F    /* The Temp Memory calls (RWR) */
  160. #define num_UnknownTrap        0x9F
  161. #define num_ScriptTrap        0xBF
  162.  
  163.  
  164. /***********************************/
  165. pascal void
  166. UnknownTrap ()
  167. /***********************************/
  168. extern 0xA89F;
  169.  
  170. #else /* MPW */
  171.  
  172. /****************************************************************************/
  173. pascal void
  174. SPtoaA0 () = 0x208F;                /* MOVE.L SP, (A0) */
  175.  
  176.  
  177.  
  178. /****************************************************************************/
  179. pascal void
  180. loadA0 (char *params) = 0x205F;            /* MOVEA.L (A7)+,A0 */
  181.  
  182.  
  183.  
  184. /****************************************************************************/
  185. pascal void
  186. loadD1 (long value) = 0x221F;            /* MOVE.L (A7)+,D1 */
  187.  
  188.  
  189.  
  190. /****************************************************************************/
  191. pascal void
  192. loadD2 (long value) = 0x241F;            /* MOVE.L (A7)+,D2 */
  193.  
  194.  
  195.  
  196. /****************************************************************************/
  197. pascal void
  198. pushD0 () = 0x2F00;            /* MOVE.L D0,-(A7) */
  199.  
  200.  
  201.  
  202. /****************************************************************************/
  203. pascal void
  204. poptoA0 () = 0x209F;            /* MOVE.L (A7)+,(A0) */
  205.  
  206.  
  207.  
  208. /****************************************************************************/
  209. pascal void
  210. saveA0 () = 0x2F08;            /* MOVEA.L A0,-(A7) */
  211.  
  212.  
  213.  
  214. /****************************************************************************/
  215. pascal void
  216. restoreA0 () = 0x205F;            /* MOVEA.L (A7)+,A0 */
  217.  
  218.  
  219.  
  220. /****************************************************************************/
  221. pascal void
  222. AllRegs () = 0xFFFF;            /* D0-D7/A0-A7 (all registers) */
  223.  
  224.  
  225.  
  226. /****************************************************************************/
  227. pascal void
  228. SaveRegs () = 0x48E7;            /* MOVEM.L <registers>,-(A7) */
  229.  
  230.  
  231.  
  232. /****************************************************************************/
  233. pascal void
  234. RestoreRegs () = 0x4CDF;            /* MOVEM.L (A7)+,<registers> */
  235.  
  236.  
  237.  
  238. /****************************************************************************/
  239. pascal void
  240. execute () = 0x4E90;            /* JSR (A0) */
  241.  
  242.  
  243.  
  244. /****************************************************************************/
  245. pascal void
  246. Launch () = 0xA9F2;            /* Launch Trap */
  247.  
  248. /**********************************/
  249. pascal Boolean
  250. WaitNextEvent (short eventMask, EventRecord *theEvent, long sleep,
  251.            RgnHandle mouseRgn) = 0xA860; /* it's a toolbox trap... */
  252.  
  253. #define num_WaitNextEvent    0x60
  254. #define num_JugglDispatch    0x8F    /* The Temp Memory calls (RWR) */
  255. #define num_UnknownTrap        0x9F
  256. #define num_ScriptTrap        0xBF
  257.  
  258. /***********************************/
  259. pascal void
  260. UnknownTrap () = 0xA89F;
  261.  
  262. #endif /* MPW */
  263.  
  264. /*
  265.  * Junk so Emacs will set local variables to be compatible with Mac/MPW.
  266.  * Should be at end of file.
  267.  * 
  268.  * Local Variables:
  269.  * tab-width: 4
  270.  * End:
  271.  */
  272.